package venta;

import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import org.junit.Before;
import org.junit.Test;

import producto.Pedido;
import producto.Producto;
import cliente.Cliente;
import exceptions.ErrorEdo;
import exceptions.ErrorSaldo;

public class VtaConEnvioTestTestPlusException {
	
	Producto productoMock01 = mock(Producto.class);
	Producto productoMock02 = mock(Producto.class);
	Cliente clienteMock01 = mock(Cliente.class);
	Pedido pedidoMock01 = mock(Pedido.class);
	
	VtaConEnvio venta01 = new VtaConEnvio(clienteMock01);
	
	@Before
	public void setUp(){
		
		//Generar una venta con envio, pendiente
		
		((Venta)venta01).setPedido(pedidoMock01);
		when(pedidoMock01.precioDeVentaTotal()).thenReturn((double) 50);
		
		
		//Pasa por cada estado
		//0.pendiente
		//1.enProceso
		//(opc)2.Reprogramada ?? vuelve a pendiente??
		//(opc)3.Cancelado
		//4.Finalizado
		
	}

	@Test(expected = ErrorEdo.class)
	public void testFinalizarUnaVetaPendiente(){
		venta01.finalizar();
	}
	
	@Test(expected = ErrorSaldo.class)
	public void testAbonar(){
		venta01.abonar(100);
	}
	
	
}
